package cn.hls.service;

import java.util.List;

import cn.hls.entity.Module;
import cn.hls.entity.vo.ExtTree;
import cn.hls.entity.vo.PageInfo;

/**
 * @fileName: MoudleService.java
 * @Description: 功能模块Service接口
 * @author: yinghui.zhang
 * @email: uuhui@163.com
 * @date 2015年4月15日
 * @version V1.0
 */
public interface ModuleService extends BaseService<Module> {
	/**
	 * 根据模块编号、模块对象查询子模块信息
	 * 
	 * @param module
	 *            模块对象
	 * @param nodeId
	 *            编号
	 * @return List<ExtTree>
	 */
	List<ExtTree> loadChildModules(Module module, Long nodeId) throws Exception;

	/**
	 * 分页查询模块信息
	 * 
	 * @param module
	 *            模块对象
	 * @param page
	 *            分页参数
	 * @return PageInfo<Module>
	 */
	PageInfo<Module> loadModules(Module module, PageInfo<Module> page) throws Exception;

	/**
	 * 根据编号删除模块信息
	 * 
	 * @param id
	 *            模块编号
	 * @return String
	 */
	String deleteModule(Long id) throws Exception;

	/**
	 * 根据编号更新模块序号
	 * 
	 * @param ids
	 *            编号
	 */
	void updateModuleSort(String ids) throws Exception;

	/**
	 * 根据url查询模块信息
	 * 
	 * @param url
	 *            链接地址
	 * @return Module
	 */
	Module findModule(String url) throws Exception;
	/**
	 * 根据对象的名称及代码查询模块对象信息
	 * @param entity 实体对象
	 * @return Module
	 * @throws Exception 异常
	 */
	public Module findModule(Module entity)throws Exception;

	/**
	 * 根据编号删除模块信息
	 * 
	 * @param id
	 *            编号
	 * @return String
	 * @throws Exception
	 *             异常
	 */

}
